import axios from "axios"
import { ElMessage } from 'element-plus'
import { useCookies } from '@vueuse/integrations/useCookies';


const http = axios.create({
    //baseURL:请求的基本路径,将在每一次请求的url前面自动加，除非 url 是一个绝对 URL
    baseURL: 'http://localhost:8080/',
    //timeout 指定请求超时的毫秒数,如果请求时间超过 timeout 的值，则请求会被中断
    timeout: 3000
})

// 添加请求拦截器
http.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么，请求头中携带token，保证每次请求都会携带神规范==token
//1.从cookie中获取token
const cookies=useCookies();
//2.将token添加到请求头中，携带到后端
if(cookies.get("token")){
    config.headers.set("token",cookies.get("token"));
}
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
http.interceptors.response.use(function (response) {
    // 响应成功:2xx 范围内的状态码都会触发该函数。
    // 对响应数据直接获取数据返回
    return response.data;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误弹出统一的错误提示
    //弹出错误提示框
        ElMessage({
          showClose: true,
          message: '请求失败，Error'+error.message,
          type: 'error',
        })
    return Promise.reject(error);
});

export default http